home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2003 November A / PCWK1103A.iso / Adobe After Effects 6.0 tryout / MM4.Cab / F3607_FARSI.TXT.942461E0_7FE8_440B_86B6_AA6592C2EC51 < prev    next >
Text File  |  2003-03-20  |  25KB  |  553 lines

  1. ##Adobe File Version: 1.000
  2. #=======================================================================
  3. #   FTP file name:  FARSI.TXT
  4. #
  5. #   Contents:       Map (external version) from Mac OS Farsi
  6. #                   character set to Unicode 2.1
  7. #
  8. #   Copyright:      (c) 1997-1999 by Apple Computer, Inc., all rights
  9. #                   reserved.
  10. #
  11. #   Contact:        charsets@apple.com
  12. #
  13. #   Changes:
  14. #
  15. #       b02  1999-Sep-22    Update contact e-mail address. Matches
  16. #                           internal utom<b1>, ufrm<b1>, and Text
  17. #                           Encoding Converter version 1.5.
  18. #       n04  1998-Feb-05    Show required Unicode character
  19. #                           directionality in a different way. Matches
  20. #                           internal utom<n3>, ufrm<n9>, and Text
  21. #                           Encoding Converter version 1.3. Update
  22. #                           header comments; include information on
  23. #                           loose mapping of digits, and changes to
  24. #                           mapping for the TrueType variant.
  25. #       n01  1997-Jul-17    First version. Matches internal utom<n1>,
  26. #                           ufrm<n2>.
  27. #
  28. # Standard header:
  29. # ----------------
  30. #
  31. #   Apple, the Apple logo, and Macintosh are trademarks of Apple
  32. #   Computer, Inc., registered in the United States and other countries.
  33. #   Unicode is a trademark of Unicode Inc. For the sake of brevity,
  34. #   throughout this document, "Macintosh" can be used to refer to
  35. #   Macintosh computers and "Unicode" can be used to refer to the
  36. #   Unicode standard.
  37. #
  38. #   Apple makes no warranty or representation, either express or
  39. #   implied, with respect to these tables, their quality, accuracy, or
  40. #   fitness for a particular purpose. In no event will Apple be liable
  41. #   for direct, indirect, special, incidental, or consequential damages 
  42. #   resulting from any defect or inaccuracy in this document or the
  43. #   accompanying tables.
  44. #
  45. #   These mapping tables and character lists are subject to change.
  46. #   The latest tables should be available from the following:
  47. #
  48. #   <ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
  49. #   <ftp://dev.apple.com/devworld/Technical_Documentation/Misc._Standards/>
  50. #
  51. #   For general information about Mac OS encodings and these mapping
  52. #   tables, see the file "README.TXT".
  53. #
  54. # Format:
  55. # -------
  56. #
  57. #   Three tab-separated columns;
  58. #   '#' begins a comment which continues to the end of the line.
  59. #     Column #1 is the Mac OS Farsi code (in hex as 0xNN)
  60. #     Column #2 is the corresponding Unicode (in hex as 0xNNNN),
  61. #       possibly preceded by a tag indicating required directionality
  62. #       (i.e. <LR>+0xNNNN or <RL>+0xNNNN).
  63. #     Column #3 is a comment containing the Unicode name.
  64. #
  65. #   The entries are in Mac OS Farsi code order.
  66. #
  67. #   Control character mappings are not shown in this table, following
  68. #   the conventions of the standard UTC mapping tables. However, the
  69. #   Mac OS Roman character set uses the standard control characters at
  70. #   0x00-0x1F and 0x7F.
  71. #
  72. # Notes on Mac OS Farsi:
  73. # ----------------------
  74. #
  75. #   1. General
  76. #
  77. #   The Mac OS Farsi character set is used for the Farsi (Persian)
  78. #   localizations, and for the Persian support in the Arabic Language
  79. #   Kit.
  80. #
  81. #   The Mac OS Farsi character set is based on the Mac OS Arabic
  82. #   character set. The main difference is in the right-to-left digits
  83. #   0xB0-0xB9: For Mac OS Arabic these correspond to right-left
  84. #   versions of the Unicode ARABIC-INDIC DIGITs 0660-0669; for
  85. #   Mac OS Farsi these correspond to right-left versions of the
  86. #   Unicode EXTENDED ARABIC-INDIC DIGITs 06F0-06F9. The other
  87. #   difference is in the nature of the font variants.
  88. #
  89. #   For more information, see the comments in the mapping table for
  90. #   Mac OS Arabic.
  91. #
  92. #   Mac OS Farsi characters 0xEB-0xF2 are non-spacing/combining marks.
  93. #
  94. #   2. Directional characters and roundtrip fidelity
  95. #
  96. #   The Mac OS Arabic character set (on which Mac OS Farsi is based)
  97. #   was developed in 1986-1987. At that time the bidirectional line
  98. #   layout algorithm used in the Mac OS Arabic system was fairly simple;
  99. #   it used only a few direction classes (instead of the 13 or so now
  100. #   used in the Unicode bidirectional algorithm). In order to permit
  101. #   users to handle some tricky layout problems, certain punctuation
  102. #   and symbol characters have duplicate code points, one with a
  103. #   left-right direction attribute and the other with a right-left
  104. #   direction attribute. This is true in Mac OS Farsi too.
  105. #
  106. #   For example, plus sign is encoded at 0x2B with a left-right
  107. #   attribute, and at 0xAB with a right-left attribute. However, there
  108. #   is only one PLUS SIGN character in Unicode. This leads to some
  109. #   interesting problems when mapping between Mac OS Farsi and Unicode;
  110. #   see below.
  111. #
  112. #   A related problem is that even when a particular character is
  113. #   encoded only once in Mac OS Farsi, it may have a different
  114. #   direction attribute than the corresponding Unicode character.
  115. #
  116. #   For example, the Mac OS Farsi character at 0x93 is HORIZONTAL
  117. #   ELLIPSIS with strong right-left direction. However, the Unicode
  118. #   character HORIZONTAL ELLIPSIS has direction class neutral.
  119. #
  120. #   3. Behavior of ASCII-range numbers
  121. #
  122. #   Mac OS Farsi also has two sets of digit codes.
  123. #
  124. #   The digits at 0x30-0x39 may be displayed using either European
  125. #   digit shapes or Persian digit shapes, depending on context. If there
  126. #   is a "strong European" character such as a Latin letter on either
  127. #   side of a sequence consisting of digits 0x30-0x39 and possibly comma
  128. #   0x2C or period 0x2E, then the digits will be displayed using
  129. #   European shapes, the comma will be displayed as Arabic thousands
  130. #   separator, and the period as Arabic decimal separator. (This will
  131. #   happen even if there are neutral characters between the digits and
  132. #   the strong European character). Otherwise, all of these characters
  133. #   will be displayed using the European shapes. In any case, 0x2C,
  134. #   0x2E, and 0x30-0x39 are always left-right.
  135. #
  136. #   The digits at 0xB0-0xB9 are always displayed using Persian digit
  137. #   shapes, and moreover, these digits always have strong right-left
  138. #   directionality. These are mainly intended for special layout
  139. #   purposes such as part numbers, etc.
  140. #
  141. #   4. Font variants
  142. #
  143. #   The table in this file gives the Unicode mappings for the standard
  144. #   Mac OS Farsi encoding. This encoding is supported by the Tehran font
  145. #   (the system font for Farsi), and is the encoding supported by the
  146. #   text processing utilities. However, the other Farsi fonts actually
  147. #   implement a somewhat different encoding; this affects nine code
  148. #   points including 0xAA and 0xC0 (which are also affected by font
  149. #   variants in Mac OS Arabic). For these nine code points the standard
  150. #   Mac OS Farsi encoding has the following mappings:
  151. #       0x8B -> 0x06BA ARABIC LETTER NOON GHUNNA (Urdu)
  152. #       0xA4 -> <RL>+0x0024 DOLLAR SIGN, right-left
  153. #       0xAA -> <RL>+0x002A ASTERISK, right-left
  154. #       0xC0 -> <RL>+0x274A EIGHT TEARDROP-SPOKED PROPELLER ASTERISK,
  155. #               right-left
  156. #       0xF4 -> 0x0679 ARABIC LETTER TTEH (Urdu)
  157. #       0xF7 -> 0x06A4 ARABIC LETTER VEH (for transliteration)
  158. #       0xF9 -> 0x0688 ARABIC LETTER DDAL (Urdu)
  159. #       0xFA -> 0x0691 ARABIC LETTER RREH (Urdu)
  160. #       0xFF -> 0x06D2 ARABIC LETTER YEH BARREE (Urdu)
  161. #
  162. #   The TrueType variant is used for the Farsi TrueType fonts: Ashfahan,
  163. #   Amir, Kamran, Mashad, NadeemFarsi. It differs from the standard
  164. #   variant in the following ways:
  165. #       0x8B -> 0xF882 Arabic ligature "peace on him" (corporate char.)
  166. #       0xA4 -> 0xF86B+0x0631+0x064A+0x0627+0x0644 Arabic ligature rial,
  167. #               currency sign (uses transcoding hint, see below)
  168. #       0xAA -> 0x00D7 MULTIPLICATION SIGN (RL)
  169. #       0xC0 -> 0x002A ASTERISK (RL)
  170. #       0xF4 -> 0x00B0 DEGREE SIGN (RL)
  171. #       0xF7 -> 0xFDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
  172. #       0xF9 -> 0x25CF BLACK CIRCLE (RL)
  173. #       0xFA -> 0x25A0 BLACK SQUARE (RL)
  174. #       0xFF -> 0x25B2 BLACK UP-POINTING TRIANGLE (RL)
  175. #
  176. # Unicode mapping issues and notes:
  177. # ---------------------------------
  178. #
  179. #   1. Matching the direction of Mac OS Farsi characters
  180. #
  181. #   When Mac OS Farsi encodes a character twice but with different
  182. #   direction attributes for the two code points - as in the case of
  183. #   plus sign mentioned above - we need a way to map both Mac OS Farsi
  184. #   code points to Unicode and back again without loss of information.
  185. #   With the plus sign, for example, mapping one of the Mac OS Farsi
  186. #   characters to a code in the Unicode corporate use zone is
  187. #   undesirable, since both of the plus sign characters are likely to
  188. #   be used in text that is interchanged.
  189. #
  190. #   The problem is solved with the use of direction override characters
  191. #   and direction-dependent mappings. When mapping from Mac OS Farsi
  192. #   to Unicode, we use direction overrides as necessary to force the
  193. #   direction of the resulting Unicode characters.
  194. #
  195. #   The required direction is indicated by a direction tag in the
  196. #   mappings. A tag of <LR> means the corresponding Unicode character
  197. #   must have a strong left-right context, and a tag of <RL> indicates
  198. #   a right-left context.
  199. #
  200. #   For example, the mapping of 0x2B is given as <LR>+0x002B; the
  201. #   mapping of 0xAB is given as <RL>+0x002B. If we map an isolated
  202. #   instance of 0x2B to Unicode, it should be mapped as follows (LRO
  203. #   indicates LEFT-RIGHT OVERRIDE, PDF indicates POP DIRECTION
  204. #   FORMATTING):
  205. #
  206. #     0x2B ->  0x202D (LRO) + 0x002B (PLUS SIGN) + 0x202C (PDF)
  207. #
  208. #   When mapping several characters in a row that require direction
  209. #   forcing, the overrides need only be used at the beginning and end.
  210. #   For example:
  211. #
  212. #     0x24 0x20 0x28 0x29 -> 0x202D 0x0024 0x0020 0x0028 0x0029 0x202C
  213. #
  214. #   When mapping from Unicode to Mac OS Farsi, the Unicode
  215. #   bidirectional algorithm should be used to determine resolved
  216. #   direction of the Unicode characters. The mapping from Unicode to
  217. #   Mac OS Farsi can then be disambiguated by the use of the resolved
  218. #   direction:
  219. #
  220. #     Unicode 0x002B -> Mac OS Farsi 0x2B (if L) or 0xAB (if R)
  221. #
  222. #   However, this also means the direction override characters should
  223. #   be discarded when mapping from Unicode to Mac OS Farsi (after
  224. #   they have been used to determine resolved direction), since the
  225. #   direction override information is carried by the code point itself.
  226. #
  227. #   Even when direction overrides are not needed for roundtrip
  228. #   fidelity, they are sometimes used when mapping Mac OS Farsi
  229. #   characters to Unicode in order to achieve similar text layout with
  230. #   the resulting Unicode text. For example, the single Mac OS Farsi
  231. #   ellipsis character has direction class right-left,and there is no
  232. #   left-right version. However, the Unicode HORIZONTAL ELLIPSIS
  233. #   character has direction class neutral (which means it may end up
  234. #   with a resolved direction of left-right if surrounded by left-right
  235. #   characters). When mapping the Mac OS Farsi ellipsis to Unicode, it
  236. #   is surrounded with a direction override to help preserve proper
  237. #   text layout. The resolved direction is not needed or used when
  238. #   mapping the Unicode HORIZONTAL ELLIPSIS back to Mac OS Farsi.
  239. #
  240. #   2. Mapping the Mac OS Farsi digits
  241. #
  242. #   The main table below contains mappings that should be used when
  243. #   strict round-trip fidelity is required. However, for numeric
  244. #   values, the mappings in that table will produce Unicode characters
  245. #   that may appear different than the Mac OS Farsi text displayed
  246. #   on a Mac OS system with Arabic/Farsi support. This is because the
  247. #   Mac OS uses context-dependent display for the 0x30-0x39 digits.
  248. #
  249. #   If roundtrip fidelity is not required, then the following
  250. #   alternate mappings should be used when a sequence of 0x30-0x39
  251. #   digits - possibly including 0x2C and 0x2E - occurs in an Arabic
  252. #   context (that is, when the first "strong" character on either side
  253. #   of the digit sequence is Arabic, or there is no strong character):
  254. #
  255. #     0x2C    0x066C    # ARABIC THOUSANDS SEPARATOR
  256. #     0x2E    0x066B    # ARABIC DECIMAL SEPARATOR
  257. #     0x30    0x06F0    # EXTENDED ARABIC-INDIC DIGIT ZERO
  258. #     0x31    0x06F1    # EXTENDED ARABIC-INDIC DIGIT ONE
  259. #     0x32    0x06F2    # EXTENDED ARABIC-INDIC DIGIT TWO
  260. #     0x33    0x06F3    # EXTENDED ARABIC-INDIC DIGIT THREE
  261. #     0x34    0x06F4    # EXTENDED ARABIC-INDIC DIGIT FOUR
  262. #     0x35    0x06F5    # EXTENDED ARABIC-INDIC DIGIT FIVE
  263. #     0x36    0x06F6    # EXTENDED ARABIC-INDIC DIGIT SIX
  264. #     0x37    0x06F7    # EXTENDED ARABIC-INDIC DIGIT SEVEN
  265. #     0x38    0x06F8    # EXTENDED ARABIC-INDIC DIGIT EIGHT
  266. #     0x39    0x06F9    # EXTENDED ARABIC-INDIC DIGIT NINE
  267. #
  268. #   3. Use of corporate-zone Unicodes (mapping the TrueType variant)
  269. #
  270. #   The goals in the mappings provided here are:
  271. #   - Ensure roundtrip mapping from every character in the Mac OS
  272. #     Farsi character set to Unicode and back
  273. #   - Use standard Unicode characters as much as possible, to
  274. #     maximize interchangeability of the resulting Unicode text.
  275. #     Whenever possible, avoid having content carried by private-use
  276. #     characters.
  277. #
  278. #   Some of the characters in the TrueType variant of the Mac OS Farsi
  279. #   character set do not correspond to distinct, single Unicode
  280. #   characters. To map these and satisfy both goals above, we employ
  281. #   various strategies.
  282. #
  283. #   a) If possible, use private use characters in combination with
  284. #   standard Unicode characters to mark variants of the standard
  285. #   Unicode character.
  286. #
  287. #   Apple has defined a block of 32 corporate characters as "transcoding
  288. #   hints." These are used in combination with standard Unicode characters
  289. #   to force them to be treated in a special way for mapping to other
  290. #   encodings; they have no other effect. Sixteen of these transcoding
  291. #   hints are "grouping hints" - they indicate that the next 2-4 Unicode
  292. #   characters should be treated as a single entity for transcoding. The
  293. #   other sixteen transcoding hints are "variant tags" - they are like
  294. #   combining characters, and can follow a standard Unicode (or a sequence
  295. #   consisting of a base character and other combining characters) to
  296. #   cause it to be treated in a special way for transcoding. These always
  297. #   terminate a combining-character sequence.
  298. #
  299. #   The transcoding coding hint used in this mapping table is a grouping
  300. #   hint:
  301. #     0xF86B group next 4 characters, right-left directionality
  302. #
  303. #   In the TrueType variant of Mac OS Farsi, 0xA4 is a ligature for the
  304. #   currency unit "rial". This is mapped using the grouping hint followed
  305. #   by the Arabic characters for "rial"
  306. #   
  307. #     (TrueType variant) 0xA4 -> 0xF86B+0x0631+0x064A+0x0627+0x0644
  308. #
  309. #   b) Otherwise, use private use characters by themselves to map
  310. #   characters in the TrueType variant of Mac OS Farsi characters which
  311. #   have no relationship to any standard Unicode character.
  312. #
  313. #   The following additional corporate zone Unicode character is used
  314. #   for this purpose here:
  315. #
  316. #     0xF882  Arabic ligature "peace on him"
  317. #
  318. # Details of mapping changes in each version:
  319. # -------------------------------------------
  320. #
  321. #   Changes from version n01 to version n04:
  322. #
  323. #   - Change mapping of 0xA4 in TrueType variant (just described in
  324. #     header comment) from single corporate character to use
  325. #     grouping hint
  326. #
  327. ##################
  328.  
  329. 0x20    <LR>+0x0020    # SPACE, left-right
  330. 0x21    <LR>+0x0021    # EXCLAMATION MARK, left-right
  331. 0x22    <LR>+0x0022    # QUOTATION MARK, left-right
  332. 0x23    <LR>+0x0023    # NUMBER SIGN, left-right
  333. 0x24    <LR>+0x0024    # DOLLAR SIGN, left-right
  334. 0x25    <LR>+0x0025    # PERCENT SIGN, left-right
  335. 0x26    <LR>+0x0026    # AMPERSAND, left-right
  336. 0x27    <LR>+0x0027    # APOSTROPHE, left-right
  337. 0x28    <LR>+0x0028    # LEFT PARENTHESIS, left-right
  338. 0x29    <LR>+0x0029    # RIGHT PARENTHESIS, left-right
  339. 0x2A    <LR>+0x002A    # ASTERISK, left-right
  340. 0x2B    <LR>+0x002B    # PLUS SIGN, left-right
  341. 0x2C    <LR>+0x002C    # COMMA, left-right
  342. 0x2D    <LR>+0x002D    # HYPHEN-MINUS, left-right
  343. 0x2E    <LR>+0x002E    # FULL STOP, left-right
  344. 0x2F    <LR>+0x002F    # SOLIDUS, left-right
  345. 0x30    0x0030    # DIGIT ZERO
  346. 0x31    0x0031    # DIGIT ONE
  347. 0x32    0x0032    # DIGIT TWO
  348. 0x33    0x0033    # DIGIT THREE
  349. 0x34    0x0034    # DIGIT FOUR
  350. 0x35    0x0035    # DIGIT FIVE
  351. 0x36    0x0036    # DIGIT SIX
  352. 0x37    0x0037    # DIGIT SEVEN
  353. 0x38    0x0038    # DIGIT EIGHT
  354. 0x39    0x0039    # DIGIT NINE
  355. 0x3A    <LR>+0x003A    # COLON, left-right
  356. 0x3B    <LR>+0x003B    # SEMICOLON, left-right
  357. 0x3C    <LR>+0x003C    # LESS-THAN SIGN, left-right
  358. 0x3D    <LR>+0x003D    # EQUALS SIGN, left-right
  359. 0x3E    <LR>+0x003E    # GREATER-THAN SIGN, left-right
  360. 0x3F    <LR>+0x003F    # QUESTION MARK, left-right
  361. 0x40    0x0040    # COMMERCIAL AT
  362. 0x41    0x0041    # LATIN CAPITAL LETTER A
  363. 0x42    0x0042    # LATIN CAPITAL LETTER B
  364. 0x43    0x0043    # LATIN CAPITAL LETTER C
  365. 0x44    0x0044    # LATIN CAPITAL LETTER D
  366. 0x45    0x0045    # LATIN CAPITAL LETTER E
  367. 0x46    0x0046    # LATIN CAPITAL LETTER F
  368. 0x47    0x0047    # LATIN CAPITAL LETTER G
  369. 0x48    0x0048    # LATIN CAPITAL LETTER H
  370. 0x49    0x0049    # LATIN CAPITAL LETTER I
  371. 0x4A    0x004A    # LATIN CAPITAL LETTER J
  372. 0x4B    0x004B    # LATIN CAPITAL LETTER K
  373. 0x4C    0x004C    # LATIN CAPITAL LETTER L
  374. 0x4D    0x004D    # LATIN CAPITAL LETTER M
  375. 0x4E    0x004E    # LATIN CAPITAL LETTER N
  376. 0x4F    0x004F    # LATIN CAPITAL LETTER O
  377. 0x50    0x0050    # LATIN CAPITAL LETTER P
  378. 0x51    0x0051    # LATIN CAPITAL LETTER Q
  379. 0x52    0x0052    # LATIN CAPITAL LETTER R
  380. 0x53    0x0053    # LATIN CAPITAL LETTER S
  381. 0x54    0x0054    # LATIN CAPITAL LETTER T
  382. 0x55    0x0055    # LATIN CAPITAL LETTER U
  383. 0x56    0x0056    # LATIN CAPITAL LETTER V
  384. 0x57    0x0057    # LATIN CAPITAL LETTER W
  385. 0x58    0x0058    # LATIN CAPITAL LETTER X
  386. 0x59    0x0059    # LATIN CAPITAL LETTER Y
  387. 0x5A    0x005A    # LATIN CAPITAL LETTER Z
  388. 0x5B    <LR>+0x005B    # LEFT SQUARE BRACKET, left-right
  389. 0x5C    <LR>+0x005C    # REVERSE SOLIDUS, left-right
  390. 0x5D    <LR>+0x005D    # RIGHT SQUARE BRACKET, left-right
  391. 0x5E    <LR>+0x005E    # CIRCUMFLEX ACCENT, left-right
  392. 0x5F    <LR>+0x005F    # LOW LINE, left-right
  393. 0x60    0x0060    # GRAVE ACCENT
  394. 0x61    0x0061    # LATIN SMALL LETTER A
  395. 0x62    0x0062    # LATIN SMALL LETTER B
  396. 0x63    0x0063    # LATIN SMALL LETTER C
  397. 0x64    0x0064    # LATIN SMALL LETTER D
  398. 0x65    0x0065    # LATIN SMALL LETTER E
  399. 0x66    0x0066    # LATIN SMALL LETTER F
  400. 0x67    0x0067    # LATIN SMALL LETTER G
  401. 0x68    0x0068    # LATIN SMALL LETTER H
  402. 0x69    0x0069    # LATIN SMALL LETTER I
  403. 0x6A    0x006A    # LATIN SMALL LETTER J
  404. 0x6B    0x006B    # LATIN SMALL LETTER K
  405. 0x6C    0x006C    # LATIN SMALL LETTER L
  406. 0x6D    0x006D    # LATIN SMALL LETTER M
  407. 0x6E    0x006E    # LATIN SMALL LETTER N
  408. 0x6F    0x006F    # LATIN SMALL LETTER O
  409. 0x70    0x0070    # LATIN SMALL LETTER P
  410. 0x71    0x0071    # LATIN SMALL LETTER Q
  411. 0x72    0x0072    # LATIN SMALL LETTER R
  412. 0x73    0x0073    # LATIN SMALL LETTER S
  413. 0x74    0x0074    # LATIN SMALL LETTER T
  414. 0x75    0x0075    # LATIN SMALL LETTER U
  415. 0x76    0x0076    # LATIN SMALL LETTER V
  416. 0x77    0x0077    # LATIN SMALL LETTER W
  417. 0x78    0x0078    # LATIN SMALL LETTER X
  418. 0x79    0x0079    # LATIN SMALL LETTER Y
  419. 0x7A    0x007A    # LATIN SMALL LETTER Z
  420. 0x7B    <LR>+0x007B    # LEFT CURLY BRACKET, left-right
  421. 0x7C    <LR>+0x007C    # VERTICAL LINE, left-right
  422. 0x7D    <LR>+0x007D    # RIGHT CURLY BRACKET, left-right
  423. 0x7E    0x007E    # TILDE
  424. #
  425. 0x80    0x00C4    # LATIN CAPITAL LETTER A WITH DIAERESIS
  426. 0x81    <RL>+0x00A0    # NO-BREAK SPACE, right-left
  427. 0x82    0x00C7    # LATIN CAPITAL LETTER C WITH CEDILLA
  428. 0x83    0x00C9    # LATIN CAPITAL LETTER E WITH ACUTE
  429. 0x84    0x00D1    # LATIN CAPITAL LETTER N WITH TILDE
  430. 0x85    0x00D6    # LATIN CAPITAL LETTER O WITH DIAERESIS
  431. 0x86    0x00DC    # LATIN CAPITAL LETTER U WITH DIAERESIS
  432. 0x87    0x00E1    # LATIN SMALL LETTER A WITH ACUTE
  433. 0x88    0x00E0    # LATIN SMALL LETTER A WITH GRAVE
  434. 0x89    0x00E2    # LATIN SMALL LETTER A WITH CIRCUMFLEX
  435. 0x8A    0x00E4    # LATIN SMALL LETTER A WITH DIAERESIS
  436. 0x8B    0x06BA    # ARABIC LETTER NOON GHUNNA
  437. 0x8C    <RL>+0x00AB    # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
  438. 0x8D    0x00E7    # LATIN SMALL LETTER C WITH CEDILLA
  439. 0x8E    0x00E9    # LATIN SMALL LETTER E WITH ACUTE
  440. 0x8F    0x00E8    # LATIN SMALL LETTER E WITH GRAVE
  441. 0x90    0x00EA    # LATIN SMALL LETTER E WITH CIRCUMFLEX
  442. 0x91    0x00EB    # LATIN SMALL LETTER E WITH DIAERESIS
  443. 0x92    0x00ED    # LATIN SMALL LETTER I WITH ACUTE
  444. 0x93    <RL>+0x2026    # HORIZONTAL ELLIPSIS, right-left
  445. 0x94    0x00EE    # LATIN SMALL LETTER I WITH CIRCUMFLEX
  446. 0x95    0x00EF    # LATIN SMALL LETTER I WITH DIAERESIS
  447. 0x96    0x00F1    # LATIN SMALL LETTER N WITH TILDE
  448. 0x97    0x00F3    # LATIN SMALL LETTER O WITH ACUTE
  449. 0x98    <RL>+0x00BB    # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
  450. 0x99    0x00F4    # LATIN SMALL LETTER O WITH CIRCUMFLEX
  451. 0x9A    0x00F6    # LATIN SMALL LETTER O WITH DIAERESIS
  452. 0x9B    <RL>+0x00F7    # DIVISION SIGN, right-left
  453. 0x9C    0x00FA    # LATIN SMALL LETTER U WITH ACUTE
  454. 0x9D    0x00F9    # LATIN SMALL LETTER U WITH GRAVE
  455. 0x9E    0x00FB    # LATIN SMALL LETTER U WITH CIRCUMFLEX
  456. 0x9F    0x00FC    # LATIN SMALL LETTER U WITH DIAERESIS
  457. 0xA0    <RL>+0x0020    # SPACE, right-left
  458. 0xA1    <RL>+0x0021    # EXCLAMATION MARK, right-left
  459. 0xA2    <RL>+0x0022    # QUOTATION MARK, right-left
  460. 0xA3    <RL>+0x0023    # NUMBER SIGN, right-left
  461. 0xA4    <RL>+0x0024    # DOLLAR SIGN, right-left
  462. 0xA5    0x066A    # ARABIC PERCENT SIGN
  463. 0xA6    <RL>+0x0026    # AMPERSAND, right-left
  464. 0xA7    <RL>+0x0027    # APOSTROPHE, right-left
  465. 0xA8    <RL>+0x0028    # LEFT PARENTHESIS, right-left
  466. 0xA9    <RL>+0x0029    # RIGHT PARENTHESIS, right-left
  467. 0xAA    <RL>+0x002A    # ASTERISK, right-left
  468. 0xAB    <RL>+0x002B    # PLUS SIGN, right-left
  469. 0xAC    0x060C    # ARABIC COMMA
  470. 0xAD    <RL>+0x002D    # HYPHEN-MINUS, right-left
  471. 0xAE    <RL>+0x002E    # FULL STOP, right-left
  472. 0xAF    <RL>+0x002F    # SOLIDUS, right-left
  473. 0xB0    <RL>+0x06F0    # EXTENDED ARABIC-INDIC DIGIT ZERO, right-left
  474. 0xB1    <RL>+0x06F1    # EXTENDED ARABIC-INDIC DIGIT ONE, right-left
  475. 0xB2    <RL>+0x06F2    # EXTENDED ARABIC-INDIC DIGIT TWO, right-left
  476. 0xB3    <RL>+0x06F3    # EXTENDED ARABIC-INDIC DIGIT THREE, right-left
  477. 0xB4    <RL>+0x06F4    # EXTENDED ARABIC-INDIC DIGIT FOUR, right-left
  478. 0xB5    <RL>+0x06F5    # EXTENDED ARABIC-INDIC DIGIT FIVE, right-left
  479. 0xB6    <RL>+0x06F6    # EXTENDED ARABIC-INDIC DIGIT SIX, right-left
  480. 0xB7    <RL>+0x06F7    # EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left
  481. 0xB8    <RL>+0x06F8    # EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left
  482. 0xB9    <RL>+0x06F9    # EXTENDED ARABIC-INDIC DIGIT NINE, right-left
  483. 0xBA    <RL>+0x003A    # COLON, right-left
  484. 0xBB    0x061B    # ARABIC SEMICOLON
  485. 0xBC    <RL>+0x003C    # LESS-THAN SIGN, right-left
  486. 0xBD    <RL>+0x003D    # EQUALS SIGN, right-left
  487. 0xBE    <RL>+0x003E    # GREATER-THAN SIGN, right-left
  488. 0xBF    0x061F    # ARABIC QUESTION MARK
  489. 0xC0    <RL>+0x274A    # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
  490. 0xC1    0x0621    # ARABIC LETTER HAMZA
  491. 0xC2    0x0622    # ARABIC LETTER ALEF WITH MADDA ABOVE
  492. 0xC3    0x0623    # ARABIC LETTER ALEF WITH HAMZA ABOVE
  493. 0xC4    0x0624    # ARABIC LETTER WAW WITH HAMZA ABOVE
  494. 0xC5    0x0625    # ARABIC LETTER ALEF WITH HAMZA BELOW
  495. 0xC6    0x0626    # ARABIC LETTER YEH WITH HAMZA ABOVE
  496. 0xC7    0x0627    # ARABIC LETTER ALEF
  497. 0xC8    0x0628    # ARABIC LETTER BEH
  498. 0xC9    0x0629    # ARABIC LETTER TEH MARBUTA
  499. 0xCA    0x062A    # ARABIC LETTER TEH
  500. 0xCB    0x062B    # ARABIC LETTER THEH
  501. 0xCC    0x062C    # ARABIC LETTER JEEM
  502. 0xCD    0x062D    # ARABIC LETTER HAH
  503. 0xCE    0x062E    # ARABIC LETTER KHAH
  504. 0xCF    0x062F    # ARABIC LETTER DAL
  505. 0xD0    0x0630    # ARABIC LETTER THAL
  506. 0xD1    0x0631    # ARABIC LETTER REH
  507. 0xD2    0x0632    # ARABIC LETTER ZAIN
  508. 0xD3    0x0633    # ARABIC LETTER SEEN
  509. 0xD4    0x0634    # ARABIC LETTER SHEEN
  510. 0xD5    0x0635    # ARABIC LETTER SAD
  511. 0xD6    0x0636    # ARABIC LETTER DAD
  512. 0xD7    0x0637    # ARABIC LETTER TAH
  513. 0xD8    0x0638    # ARABIC LETTER ZAH
  514. 0xD9    0x0639    # ARABIC LETTER AIN
  515. 0xDA    0x063A    # ARABIC LETTER GHAIN
  516. 0xDB    <RL>+0x005B    # LEFT SQUARE BRACKET, right-left
  517. 0xDC    <RL>+0x005C    # REVERSE SOLIDUS, right-left
  518. 0xDD    <RL>+0x005D    # RIGHT SQUARE BRACKET, right-left
  519. 0xDE    <RL>+0x005E    # CIRCUMFLEX ACCENT, right-left
  520. 0xDF    <RL>+0x005F    # LOW LINE, right-left
  521. 0xE0    0x0640    # ARABIC TATWEEL
  522. 0xE1    0x0641    # ARABIC LETTER FEH
  523. 0xE2    0x0642    # ARABIC LETTER QAF
  524. 0xE3    0x0643    # ARABIC LETTER KAF
  525. 0xE4    0x0644    # ARABIC LETTER LAM
  526. 0xE5    0x0645    # ARABIC LETTER MEEM
  527. 0xE6    0x0646    # ARABIC LETTER NOON
  528. 0xE7    0x0647    # ARABIC LETTER HEH
  529. 0xE8    0x0648    # ARABIC LETTER WAW
  530. 0xE9    0x0649    # ARABIC LETTER ALEF MAKSURA
  531. 0xEA    0x064A    # ARABIC LETTER YEH
  532. 0xEB    0x064B    # ARABIC FATHATAN
  533. 0xEC    0x064C    # ARABIC DAMMATAN
  534. 0xED    0x064D    # ARABIC KASRATAN
  535. 0xEE    0x064E    # ARABIC FATHA
  536. 0xEF    0x064F    # ARABIC DAMMA
  537. 0xF0    0x0650    # ARABIC KASRA
  538. 0xF1    0x0651    # ARABIC SHADDA
  539. 0xF2    0x0652    # ARABIC SUKUN
  540. 0xF3    0x067E    # ARABIC LETTER PEH
  541. 0xF4    0x0679    # ARABIC LETTER TTEH
  542. 0xF5    0x0686    # ARABIC LETTER TCHEH
  543. 0xF6    0x06D5    # ARABIC LETTER AE
  544. 0xF7    0x06A4    # ARABIC LETTER VEH
  545. 0xF8    0x06AF    # ARABIC LETTER GAF
  546. 0xF9    0x0688    # ARABIC LETTER DDAL
  547. 0xFA    0x0691    # ARABIC LETTER RREH
  548. 0xFB    <RL>+0x007B    # LEFT CURLY BRACKET, right-left
  549. 0xFC    <RL>+0x007C    # VERTICAL LINE, right-left
  550. 0xFD    <RL>+0x007D    # RIGHT CURLY BRACKET, right-left
  551. 0xFE    0x0698    # ARABIC LETTER JEH
  552. 0xFF    0x06D2    # ARABIC LETTER YEH BARREE
  553.